package com.toommi.refuse.service;

import com.github.pagehelper.PageInfo;
import com.toommi.refuse.entity.SysUser;
import com.toommi.refuse.exception.AdminException;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * ..
 * 系统用户服务
 *
 * @author yangg
 * @since 2019-07-29 10:49
 */
public interface SysUserService {

    /**
     * 获取用户详细信息
     *
     * @param userName 用户名
     * @return 用户详细信息
     */
    SysUser findUserDetail(String userName);

    /**
     * 新增管理帐号
     *
     * @param sysUser 管理帐号信息
     */
    void addSysUser(SysUser sysUser) throws AdminException;

    /**
     * 删除指定
     *
     * @param id 用户id
     */
    void deleteUser(long id);

    /**
     * 查询用户列表
     *
     * @param pageNum  页码
     * @param pageSize 每页数据量
     * @param roleId   角色id
     * @param keyWord  关键字
     * @return 管理员用户信息
     */
    Object findSysUsers(int pageNum, int pageSize, long roleId, String keyWord);

    /**
     * 获取微信用户列表
     * @param page
     * @param limit
     * @return
     */
    Object findweixinlist(int page, int limit,String name,String phone);

    /**
     * 后台获取可回收价格列表
     * @param page
     * @param limit
     * @param xqid
     * @return
     */
    Object getprice(int page, int limit, String xqid,String date);

    /**
     * 获取垃圾投递记录
     * @param page
     * @param limit
     * @return
     */
    Object getRefuseList(int page, int limit,String type,String phone,String name);

    /**
     * 判断垃圾是否正确
     * @param request
     */
    void pdrefuse(HttpServletRequest request);

    /**
     * 获取大件预约列表
     * @param page
     * @param limit
     * @return
     */
    Object getAppointmentList(int page, int limit,String name,String phone);

    /**
     * 获取回收员列表
     * @param page
     * @param limit
     * @return
     */
    Object appUserList(int page, int limit,String phone,String name);

    Object getRefuseTj();

    void zphsy(HttpServletRequest request);

    void updatjf(HttpServletRequest request);

    void updateappuser(HttpServletRequest request);

    /**
     * 功能描述: 后台用户修改密码
     * @param: [pass, newpass]
     * @return: void
     * @auther: HuangBo
     * @date: 2019/9/20 0020 下午 15:00
     */
    Map<String, Object> modifyPass(String pass, String newpass);
}
